/* Basic page setup */
body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    position: relative;
}

/* Smoke container for holding the smoke particles */
.smoke-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}

/* The individual smoke particles */
.smoke {
    position: absolute;
    width: 50px;
    height: 50px;
    background-color: rgba(255, 255, 255, 0.5); /* Light grey smoke color */
    border-radius: 50%;
    opacity: 0;
    animation: smoke-animation 10s infinite ease-in-out;
}

/* Smoke animation (slowly rises and fades away) */
@keyframes smoke-animation {
    0% {
        transform: translateY(100vh) scale(1);
        opacity: 1;
    }
    50% {
        transform: translateY(-50vh) scale(1.5);
        opacity: 0.5;
    }
    100% {
        transform: translateY(-100vh) scale(2);
        opacity: 0;
    }
}

/* Optional shimmer effect to simulate water surface ripple */
.shimmer {
    position: absolute;
    top: 10%;
    left: 0;
    width: 100%;
    height: 10%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.05) 100%);
    animation: shimmer-motion 2s infinite alternate;
    pointer-events: none;
    z-index: 3;
}

@keyframes shimmer-motion {
    0% {
        transform: scaleX(1);
    }
    100% {
        transform: scaleX(-1);
    }
}

/* Create interaction effect based on mouse movement */
@keyframes mouse-wave {
    0% {
        transform: scale(0);
        opacity: 0.7;
    }
    50% {
        transform: scale(1.5);
        opacity: 0.2;
    }
    100% {
        transform: scale(0);
        opacity: 0.7;
    }
}

/* Mouse ripple effect */
.mouse-ripple {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    opacity: 0.5;
    animation: mouse-wave 2s infinite ease-out;
    z-index: 5;
}
